# -*- coding: utf-8 -*-
# Version: Python 3.9.7
# Author: TRIX
# Date: 2021-09-11 23:14:20
# Use:用于生成B站视频封面 分辨率1146x717 白色 #F5F5F7 黑色 #1D1D1F 微软红 #F25228 微软蓝 #00A3ED
from PIL import Image,ImageDraw,ImageFont

def cover_gener(title,fontFolder):
	'''标题文本 最多九个字 字体'''
	if len(title)>9:
		raise ValueError('标题最多9个字')
	pic=Image.new('RGBA',(1146,717),'#1D1D1F')#以MODE模式 新建一个(weight,height)纯色图片 如果不指定颜色 默认为透明黑色 0 0 0 0 默认分辨率72 图片打印分辨率要求300
	drawer=ImageDraw.Draw(pic)#绘制器
	fontCode=ImageFont.truetype(font=fontFolder,size=100)#ImageFont对象 ttf字体格式
	drawer.text((650,64),'源码',fill='#F25228',align='center',font=fontCode)#(x,y)处 写入str fill颜色 align对齐
	fontBrief=ImageFont.truetype(font=fontFolder,size=74)#ImageFont对象 ttf字体格式
	drawer.text((850,85),'在简介',fill='#F25228',align='center',font=fontBrief)#(x,y)处 写入str fill颜色 align对齐
	fontTitle=ImageFont.truetype(font=fontFolder,size=120)#ImageFont对象 ttf字体格式
	titleW,titleH=drawer.textsize(title,font=fontTitle)#返回str的(weight,height)
	drawer.text((int((1146-titleW)/2),215),title,fill='#00A3ED',align='center',font=fontTitle)#(x,y)处 写入str fill颜色 align对齐
	fontSub=ImageFont.truetype(font=fontFolder,size=88)#ImageFont对象 ttf字体格式
	drawer.text((128,400),'Python程序  效果演示',fill='#F5F5F7',align='center',font=fontSub)#(x,y)处 写入str fill颜色 align对齐
	pic.save('D:\\[video]\\cover.png', quality=100,dpi=(300,300))#无色差保存 网络图片不会出现色差问题 只有 拍摄照片 或 PS等软件 处理后的图片会有色差问题 常用模式 RGB RGBA CMYK L黑白模式 高质量 300分辨率 默认分辨率72 图片打印分辨率要求300

cover_gener('自动生成视频封面',r'C:\\Users\\TRIX\\AppData\\Local\\Microsoft\\Windows\\Fonts\\HarmonyOS_Sans_SC_Bold.ttf')#最多9个字 鸿蒙字体 具体百度
